home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48hor2
/
hamilton.src
< prev
next >
Wrap
Text File
|
1993-02-18
|
2KB
|
79 lines
%%HP: T(3)A(R)F(.);
DIR
SetUpHamiltonian
\<< 2 ^ '0.5*(px^2+py^2+pz^2)' + 'H' STO
H 'x' \.d COLCT NEG 'pxdot' STO
H 'y' \.d COLCT NEG 'pydot' STO
H 'z' \.d COLCT NEG 'pzdot' STO
H 'px' \.d COLCT 'xdot' STO
H 'py' \.d COLCT 'ydot' STO
H 'pz' \.d COLCT 'zdot' STO
'x' Lie4thOrder '\Gdx' STO
'y' Lie4thOrder '\Gdy' STO
'z' Lie4thOrder '\Gdz' STO
'px' Lie4thOrder '\Gdpx' STO
'py' Lie4thOrder '\Gdpy' STO
'pz' Lie4thOrder '\Gdpz' STO
\>>
RunHamiltonian
\<< 6 PICK 5 PICK R\->C
\-> U
\<< \Gd \Gd * 2 / DUP '\Gd2' STO
\Gd * 3 / DUP '\Gd3' STO
\Gd * 4 / '\Gd4' STO
{ # 0d # 0d } PVIEW
DO
HamiltonStep
6 PICK 5 PICK R\->C
DUP U LINE 'U' STO
UNTIL KEY
END DROP {x y z px py pz} PURGE
\>>
\>>
HamiltonStep
\<< 'pz' STO 'py' STO 'px' STO
'z' STO 'y' STO 'x' STO
\Gdx \->NUM x +
\Gdy \->NUM y +
\Gdz \->NUM z +
\Gdpx \->NUM px +
\Gdpy \->NUM py +
\Gdpz \->NUM pz +
\>>
Lie4thOrder
\<< LieDer COLCT DUP '\Gd' *
SWAP LieDer COLCT DUP '\Gd2' *
ROT SWAP + SWAP
LieDer COLCT DUP '\Gd3' * ROT SWAP
+ SWAP LieDer COLCT '\Gd4' * +
\>>
LieDer
\<< \-> N
\<< N 'x' \.d xdot *
N 'y' \.d ydot * +
N 'z' \.d zdot * +
N 'px' \.d pxdot * +
N 'py' \.d pydot * +
N 'pz' \.d pzdot * +
\>>
\>>
H 'px^2+py^2+pz^2+(x^2+y^2-z)^2'
PPAR {(-6.5,-3.1) (6.5,3.2) X 0 (0,0) FUNCTION Y }
xdot 0
ydot 0
zdot 0
pxdot 0
pydot 0
pzdot 0
\Gdx 0
\Gdy 0
\Gdz 0
\Gdpx 0
\Gdpy 0
\Gdpz 0
\Gd .1
\Gd2 .005
\Gd3 1.66666666667E-4
\Gd4 4.16666666668E-6
END